function TyphoonForecastMan() {
	var error = -1;
	var divId = 'affectObjDiv';
	var infoId = 'marquee';
	var tdata = undefined;
	var typhoonIds = "";//台风tids

	var util = new TyphoonUtil();
	var protectUtil = new ProtectionStatusEvaluation();

	var pop = undefined;
	var faultPoints = [];
	var index;

	var currentPanel = '';
	var voltageSelector = (function(){
		var voltages = {'all':'全部','499':'500kV及以上','220':'220kV','110':'110kV'};
		var selectVoltage = '499';
		var component;
		var listener;
		function getComponent(callback){
			component = $('<select style="width:70px;font-style:normal;"/>');
			for(var i in voltages){
				var s = voltages[i];
				var item = $('<option value="'+i+'" >'+s+'</option>');
				if(i == selectVoltage){
					item.attr('selected','selected');
				}
				component.append(item);
			}
			listener = callback;
			addListener();
			return component;
		};
		function getCurrentVoltage(){
			return selectVoltage;	
		}
		function getCurrentVoltageName(){
			return voltages[selectVoltage];	
		}
		function addListener(){
			component.on('change',function(params){
				selectVoltage = params.target.value;
				listener(selectVoltage);
			});
		}
		return {
			getComponent : getComponent,
			currentVoltage:getCurrentVoltage,
			currentVoltageName:getCurrentVoltageName,
			addListener:addListener,
		};
	})();
	this.show = function() {
		getData();
	};
	this.faultDetail = function(equipmentId) {
		MyModal
				.showModal("/ui/map/dialog/typhoonFaultDialog.xhtml?equipmentId="
						+ equipmentId,1200,700);
	};
	this.hide = function() {
		$('#' + divId).css('display', 'none');
		$('#' + infoId).css('display', 'none');
		$('#' + divId).html('');
		selectedLayer.removeAllFeatures();
		animatorLayer.removeAllFeatures();
		weatherLayer.removeAllFeatures();
		map.removeAllPopup();
	};
	this.onOutPoint = function(feature){
		//removeFeatureByType('blueCircle',weatherLayer);
	};
	this.onHoverPoint = function(feature){
		var type = feature.data.type;
		if (type && type.indexOf('Point') > -1) {
			if (pop) {
				pop.remove();
			}
			if (feature.geometry.data.modelType == 'forecast') {
				pop = util.addTyphoonForecastPointPop(feature);
			} else {
				pop = util.addTyphoonPointPop(feature);
			}
			pop.show();
		}
		if(type && (type == 'typhoonFPointForecast' || type == 'typhoonFPoint')){
			var data = feature.geometry.data;
			var r = data.radius7;
			if (!r) {
				r = 100;
			}
			removeFeatureByType('blueCircle',weatherLayer);
			var circle = util.addCircleFeature(
					feature.geometry, r,0,'blueCircle');
			circle.style.fillOpacity = 0.1;
			circle.style.fillColor = 'blue';
			weatherLayer.addFeatures([ circle ]);
		}
	};
	this.changeTyphoonDisplay = function(){
		map.removeAllPopup();
		animatorLayer.removeAllFeatures();
		weatherLayer.removeAllFeatures();
		selectedLayer.removeAllFeatures();
		var inputs = $('.typhoon-li');
		var tys = [];
		for(var i=0;i<inputs.length;i++){
			if(inputs[i].checked){
				tys.push(tdata.typhoons[i]);
			}
		}
		drawTyphoons(tys);
	};
	function removeFeatureByType(type,layer){
		var fs = layer.features;
		var ff = [];
		if(fs){
			for(var i=0;i< fs.length;i++){
				if(fs[i].data && fs[i].data.FEATUREID == type){
					ff.push(fs[i]);
				};
			}
			layer.removeFeatures(ff);
		}
	}
	this.onDrawAnimator = function(feature) {
		var id = feature.attributes['FEATUREID'];
		if (id.indexOf('typhoonFLine') > -1) {
			var type = 'typhoonFPoint';
			if (id.indexOf('typhoonFLineForecast') > -1) {
				type = 'typhoonFPointForecast';
			}
			util.drawLine(feature, type);
		} else if (id.indexOf('typhoonFEnd') > -1) {
			weatherLayer.setVisibility(true);
			var name = feature.data.tname;
			var popups = map.popups;
			for ( var i in popups) {
				if (name == popups[i].id) {
					return;
				}
				
			}
			util.addTyphoonInfoPop(feature, name, true).show();
			weatherLayer.addFeatures([ util.addCircleFeature(feature.geometry,
					feature.data.radius7 ? feature.data.radius7 : tdata.typhoonRadius) ]);
			weatherLayer.addFeatures([ util.addGifFeature(feature.geometry) ]);
		}
	};
	this.onSelectPoint = function(e) {
		var type = e.data.type;
		if (type && type.indexOf('Point') > -1) {
			if (pop) {
				pop.remove();
			}
			if (e.geometry.data.modelType == 'forecast') {
				pop = util.addTyphoonForecastPointPop(e);
			} else {
				pop = util.addTyphoonPointPop(e);
			}
			pop.show();
		} else if (type.indexOf('Station') > -1) {
			var data = e.data.value;
			MyModal.showModal('/ui/map/dialog/protectionStatusDetail.xhtml?stationId='
							+ data.id + '&stationName=' + data.name);
		}
	};
	this.onPanelClick = function(title) {
		protectUtil.removePoints();
		if (currentPanel != title) {
			currentPanel = title;
		} else {
			currentPanel = '';
		}
		if (currentPanel == '相关故障') {
		//	drawFaultPoints();
		} else {
			weatherLayer.removeFeatures(faultPoints);
			faultPoints = [];
		}
		if (currentPanel == '保护状态评估') {
			protectUtil.drawPoints();
		}
	};
	this.openFaultListDialog = function(typhoonId) {
		MyModal.showModal("/ui/map/dialog/typhoonFaultDialog.xhtml?isForecast=true&tid="+typhoonId+"&voltage="+voltageSelector.currentVoltage());
	};
	function getData() {
		index = layer.load(0, {
			  shade: [0.1,'#fff'] //0.1透明度的白色背景
			});
		$.getJSON('/rest/TyphoonRestService/getWarningTyphoonAndEquipments/'+voltageSelector.currentVoltage(),
				function(result) {
					tdata = result;
					for(var i=0; i < tdata.typhoons.length; i++){
						if(i == 0){
							typhoonIds = tdata.typhoons[i].history[0].tid;
						}else{
							typhoonIds += ',' + tdata.typhoons[i].history[0].tid;
						}
					}
					layer.close(index);
					show();
				});
	}
	
	function show() {
		clearAll();
		if (tdata.typhoons.length > 0) {
			drawTyphoons(tdata.typhoons);
		}
		//展示台风的预警区域，根据客户建议，暂时屏蔽，因为没有警戒的标准
		//drawWarningBorder();
		drawPanelTables(tdata);
		selectedLayer.setVisibility(true);
		selectFeature.activate();
	}
	function drawWarningBorder(){
		$.getJSON("/rest/TyphoonRestService/getTyphoonWarningBorder",function(result){
			var feature = getBorderFeature(result);
			affectSizeLayer.addFeatures([feature]);
		});
	}
	function getBorderFeature(wbounds){
		var lrs = [];
		var ps =[];
		for(var j in wbounds){
			var p = new SuperMap.Geometry.Point(wbounds[j].longitude,wbounds[j].latitude);
			ps.push(p);
		}
		var linearRings = new SuperMap.Geometry.LinearRing(ps);
		lrs.push(linearRings);

		var region = new SuperMap.Geometry.Polygon(lrs);
		var bv = new SuperMap.Feature.Vector(region);
		bv.style = {
				strokeDashstyle:'dash',
				strokeColor:"#FA6271",
				strokeType:"dashed",
				fillColor:"#f39c12",// #AAE0B9
				fillOpacity:0.2,
				label:"台风警戒区域",
				fontColor:"black",
				fontSize:'15px',
				fontWeight:'bold'
		};
		return bv;
	}
	function drawTyphoons(typhoons) {
		animatorLayer.animator.setCurrentTime(0);
		if (pop) {
			map.removePopup(pop);
		}
		var endTime = 0;
		for ( var i in typhoons) {
			var ty = typhoons[i];
			var forecast = ty.forecast;
			if(ty.history.length > endTime){
				endTime = ty.history.length;
			}
			for(var type in forecast){
				var t = ty.history.length + forecast[type].length;
				if (t > endTime) {
					endTime = t;
				}
			}
			drawTyphoonPoint(ty);
		}
		// map.setCenter(new SuperMap.LonLat(typhoons[0].history[0].lon,
		// typhoons[0].history[0].lat), 6);
		if(typhoons.length>0){
			animatorLayer.animator.setEndTime(endTime + 1);
			animatorLayer.animator.start();
		}
	}
	function drawTyphoonPoint(typhoon) {
		var length = typhoon.history.length;
		var history = typhoon.history;
		var features = [];
		var lastColor = '';
		history[0].modelType = 'history';
		var time = 1;
		for ( ; time < history.length; time++) {
			var t = history[time];
			var style = util.getStyle(history[time - 1].windlevel);
			var pointr = 6;
			if (style.fillColor != lastColor) {
				pointr = 8;
				lastColor = style.fillColor;
			}
			/*if (time < length) {*/
			//	history[time - 1].modelType = 'history';
				history[time].modelType = 'history';
				features.push(util.addLineFeature(history[time - 1], t, time,
						pointr, 'typhoonFLine' + t.tname + time));
				var point = new SuperMap.Geometry.Point(t.lon, t.lat);
				var circler = t['radius7'];
				features.push(util.addCircleFeature(point, circler ? circler
						: tdata.typhoonRadius, time, 'typhoonFCircle' + t.tname));
				features.push(util.addGifFeature(point, time, 'typhoonFGif'
						+ t.tname));
			/*} else {
			//	if (time - 1 < length) {
			//		data[time - 1].modelType = 'history';
			//	} else {
			//		data[time - 1].modelType = 'forecast';
			//	}
				history[time].modelType = 'forecast';
				features.push(util.addLineFeature(history[time - 1], history[time],
						time, pointr, 'typhoonFLineForecast' + history[time].tid
								+ time, 'dash'));
			}*/
		}
		var lastStyle = util.getStyle(history[history.length-1].windlevel);
		var colors = ['red','blue','orange','pink','green'];
		for(var type in typhoon.forecast){
			var fs = typhoon.forecast[type];
			//排序
			fs.sort(sortForecast);
			
			for ( var ftime = 0; ftime < fs.length; ftime++) {
				var f = fs[ftime];
				var style;
				if(ftime == 0){
					style = lastStyle;
				}else{
					style = util.getStyle(fs[ftime - 1].windlevel);
				}
				var pointr = 6;
				if (style.fillColor != lastColor) {
					pointr = 8;
					lastColor = style.fillColor;
				}
				fs[ftime].modelType = 'forecast';
				if(ftime == 0){
					features.push(util.addLineFeature(history[history.length-1], fs[ftime],
							ftime+time, pointr, 'typhoonFLineForecast' + fs[ftime].tid+type
							+ (ftime+time), 'dash',colors[type]));
				}else{
					features.push(util.addLineFeature(fs[ftime - 1], fs[ftime],
							ftime+time, pointr, 'typhoonFLineForecast' + fs[ftime].tid+type
							+ (ftime+time), 'dash',colors[type]));
				}
			}
		}
		features.push(util.addEndPointFeature(history[length - 1], length + 1,
				'typhoonFEnd' + history[length - 1].tname));
		animatorLayer.addFeatures(features);
		
		function sortForecast(f1,f2){
			return DateUtil.getDate( f1['forecast_time']).getTime() - DateUtil.getDate(f2['forecast_time']).getTime();
		}
	}
	function drawPanelTables(data) {
		var panelUtil = new PanelTablesUtil(divId);
		panelUtil.setTitle("台风预警");
		panelUtil.setTitleTool(voltageSelector.getComponent(function(params){
			getData();
		}));
		if (data.typhoons && data.typhoons.length > 0) {
			drawTopBottomInfo(data.typhoons);
			panelUtil.setDangerBox();
			panelUtil.setInfo(getTyphoonInfo(data.typhoons));
			if (data.historyEquipments && data.historyEquipments.length > 0) {
				var num = getTypeNum(data.historyEquipments);
				var text = "已受影响设备<span class='pull-right' style='font-size:10px;'><span class='badge bg-yellow' style='margin-right:3px;'>变电站   "
					+(num['变电站']?num['变电站']:0)
					+"</span><span class='badge bg-red'>线路   "+(num['线路']?num['线路']:0)+"</span></span>";
				var div = panelUtil.getCollapsePanelEle("typhoonHistoryParent",text, false,
								'typhoonForecastMan.onPanelClick(\'已受影响设备\')');
				div.append('<ul class="list-group"><li class="list-group-item">历史共计发生台风故障<span style="font-size:20px;margin:5px"><i>'
								+ num['count'] + '</i></span>次</li></ul>');
				var tab = $('<table id="typhoonHistory" class="table table-hover table-bordered"></table>');
				div.append(tab);
				drawTable(tab, [ '设备', '详细', '历史故障' ],
						getEquipmentDataset(data.historyEquipments));
			} else {
				panelUtil.getCollapsePanelEle("typhoonHistoryParent", "已受影响设备",
						false,'typhoonForecastMan.onPanelClick(\'已受影响设备\')')
						.append(addNoInfo("台风历史轨迹风圈内无设备"));
			}
			if (data.forecastEquipments && data.forecastEquipments.length > 0) {
				var num = getTypeNum(data.forecastEquipments);
				var text = "预计受影响设备<span class='pull-right' style='font-size:10px;'><span class='badge bg-yellow' style='margin-right:3px;'>变电站   "
					+(num['变电站']?num['变电站']:0)
					+"</span><span class='badge bg-red'>线路   "+(num['线路']?num['线路']:0)+"</span></span>";
				var div = panelUtil.getCollapsePanelEle("typhoonForecastParent",
								text, false,'typhoonForecastMan.onPanelClick(\'预计受影响设备\')');
				div.append('<ul class="list-group"><li class="list-group-item">历史共计发生台风故障<span style="font-size:20px;margin:5px"><i>'
								+ num['count'] + '</i></span>次</li></ul>');
				var tab = $('<table id="typhoonForecast" class="table table-hover table-bordered"></table>');
				div.append(tab);
				drawTable(tab, [ '设备', '详细', '历史故障' ],
						getEquipmentDataset(data.forecastEquipments));
			} else {
				panelUtil.getCollapsePanelEle("typhoonForecast", "预计受影响设备",
						false, 'typhoonForecastMan.onPanelClick(\'预计受影响设备\')')
						.append(addNoInfo("预测点风圈内无设备"));
			}
			drawTyphoonFaultTable(data.faults, data.typhoon, panelUtil);
			drawBhActDiv(panelUtil,data.faults.length,data.actRatio);
			
			protectUtil.setData(data.secondaryStatus);
			panelUtil.getCollapsePanelEle("typhoonSecondary", "保护状态评估",
					false, 'typhoonForecastMan.onPanelClick(\'保护状态评估\')')
					.append(protectUtil.getDescDiv()).append(protectUtil.getTableDiv());
				
		} else {
			panelUtil.setSuccessBox();
			panelUtil.setInfo(PanelTablesUtil.getSmileInfo("目前无台风预警"));
		}
		panelUtil.show();
	}
	
	function drawTyphoonFaultTable(faults, typhoonId, panelUtil) {
		var dataset = getFaultDataset(faults);
		var faultTableId = 'typhoonFault';
		var detailSpan = '<span style="cursor:pointer;margin-right:3px;" onclick="typhoonForecastMan.openFaultListDialog(\''+typhoonIds+'\');" class="pull-right">明细</span>';
		if (dataset.length == 0) {
			panelUtil.getCollapsePanelEle(faultTableId + 'parent', '相关故障',
					false, 'typhoonForecastMan.onPanelClick(\'相关故障\')').append(
					addNoInfo('无相关故障'));
		} else {
			var numSpan = '<span title="故障次数" class="badge bg-yellow pull-right">'+ faults.length + '</span>';
			var div = panelUtil.getCollapsePanelEle(faultTableId + "parent",
					'相关故障'+numSpan+detailSpan, false,
					"typhoonForecastMan.onPanelClick(\'相关故障\');");
			var tab = $('<table class="table table-hover table-bordered"></table>');
			div.append(tab);
			var opt = MyTable.getDefaultOptions();
			opt.scrollY = '300px';
			opt.scrollCollapse = true;
			opt.autoWidth = false;
			opt.columnDefs = [ {
				"width" : "33%",
				"targets" : 0
			}, {
				"width" : "34%",
				"targets" : 1
			}, {
				"width" : "33%",
				"targets" : 2
			}, {
				"visible" : false,
				"targets" : [ 3, 4, 5 ,6,7]
			} ];
			var table = new MyTable(tab, [ '时间', '设备', '故障原因' ], opt);
			table.setDataSet(dataset);
			table.show();
			table.onRowClick(function(data) {
				if (data) {
					searchSelectObj(data[7],false,true,data[6]);
				}
			});
		}
	}
	function drawBhActDiv(panelUtil,faultSum,ratios){
		//共发生多少故障，保护动作正确率为多少，当前系统保护状态正常个数：，异常个数：
		var div = panelUtil.getCollapsePanelEle("BhActParent", "保护动作分析", false,"typhoonForecastMan.onPanelClick(\'保护动作分析\');");
		var ratioUtil = new ProtectionActRatio();
		ratioUtil.setRatios(ratios);
		ratioUtil.setFaultSum(faultSum);
		ratioUtil.drawDiv(div);
	}
	function addNoInfo(text) {
		var info = $('<div class="panel panel-default" style="margin:0;height:100px;">'
				+ '<div class="col-md-12" style="text-align:center;padding-top:20px;">'
				+ '<i class="fa fa-smile-o"  style="font-size:40px !important;color:green"></i>'
				+ '<p class="text-success">'
				+ text
				+ '</p>'
				+ '</div>'
				+ '</div>');
		return info;
	}
	function getFaultDataset(faults) {
		var dataset = [];
		for ( var f in faults) {
			var fa = faults[f];
			dataset.push([ getTimeStr(fa.faultTime), fa.equipment,
					fa.faultReson, fa.id, fa.lon, fa.lat,fa.mapSearchId,fa.mapSearchName ]);
		}
		function getTimeStr(f) {
			var d = new Date(f.time);
			return d.getFullYear() + "-" + (d.getMonth() + 1) + "-"
					+ d.getDate() + "-" + " " + d.getHours() + ":"
					+ d.getMinutes() + ":" + d.getSeconds();
		}
		return dataset;
	}
	function drawFaultPoints() {
		var faults = tdata.faults;
		for ( var i in faults) {
			if (faults[i].lon != 0 && faults[i].lat != 0) {
				faultPoints.push(util.drawFaultPointFeature(faults[i]));
			}
		}
		weatherLayer.addFeatures(faultPoints);
		weatherLayer.setVisibility(true);
	}
	function getTypeNum(data) {
		var res = {
			count : 0
		};
		for ( var i in data) {
			var t = res[data[i]['etype']];
			if (!t) {
				res[data[i]['etype']] = 1;
			} else {
				res[data[i]['etype']] = t + 1;
			}
			if (data[i].count) {
				res.count += Number(data[i].count);
			}
		}
		return res;
	}
	function drawTopBottomInfo(typhoons) {
		var s = '';
		for ( var i in typhoons) {
			var fores = typhoons[i].forecast['0'];
			var h = typhoons[i].history[typhoons[i].history.length - 1];
			var s1 = '';
			var id = h['tid'] + '';
			s1 += '<span style="color:#c00;margin-left:70px;">'
					+ id.substring(0, 4) + '年第'
					+ Number(id.substring(4, id.length)) + '号';
			if (h['strength']) {
				s1 += h['strength'];
			}
			s1 += h['tname'];
			if (h['englishname']) {
				s1 += '(' + h['englishname'] + ')';
			}
			s1 += '预报:</span>';

			for ( var j in fores) {
				var f = fores[j];
				s += s1 + '<span style="margin-left:20px;">'
						+ getForeTimeStr(f['forecast_time']) + ',';
				if (f['wind_sp']) {
					s += '风速' + f['wind_sp'] + '米/秒,';
				} else {
					s += '风速--米/秒,';
				}
				if (f['move_speed']) {
					s += '移速' + f['move_speed'] + '公里/小时,';
				} else {
					s += '移速--公里/小时,';
				}
				if (f['lon']) {
					s += '东经' + f['lon'] + '°,';
				} else {
					s += '东经--,';
				}
				if (f['lat']) {
					s += '北纬' + f['lat'] + '°,';
				} else {
					s += '北纬--,';
				}
				if (f['pressure']) {
					s += '气压' + f['pressure'] + '百帕,';
				} else {
					s += '气压--百帕,';
				}
				if (f['windlevel']) {
					s += '近中心最大风力' + f['windlevel'] + '级,';
				} else {
					s += '近中心最大风力--级,';
				}
				s = s.substring(0, s.length - 1);
				s += '</span>';
			}
			s += '</span>';
		}
		$('#' + infoId).html(s);
		$('#' + infoId).css('display', 'block');
		$('#' + infoId).liMarquee();

	}
	function getForeTimeStr(f) {
		var d = new Date(f.time);
		return (d.getMonth() + 1) + "月" + d.getDate() + "日" + " "
				+ d.getHours() + "时";
	}
	function drawTable(ele, cols, dataset) {
		var opt = MyTable.getDefaultOptions();
		opt.scrollY = 300;
		opt.scrollCollapse = true;
		opt.autoWidth = false;
		if (ele.attr('id') == 'typhoonSecondary') {
			opt.columnDefs = [ {
				"width" : "25%",
				"targets" : 0
			}, {
				"width" : "45%",
				"targets" : 1
			}, {
				"width" : "30%",
				"targets" : 2
			} ];
		} else {
			opt.columnDefs = [ {
				"width" : "33%",
				"targets" : 0
			}, {
				"width" : "34%",
				"targets" : 1
			}, {
				"width" : "33%",
				"targets" : 2
			}, {
				"visible" : false,
				"targets" : [ 3, 4 ]
			} ];
		}
		var tb = new MyTable(ele, cols, opt);
		tb.setDataSet(dataset);
		tb.show();
		tb.onRowClick(function(data) {
			if (data) {
				searchSelectObj(data[0],false,true,data[3]);
			}
		});
	}
	function getEquipmentDataset(data) {
		data.sort(sort);
		var dataset = [];
		for ( var i in data) {
			var d = data[i];
			var c = d['count'] ? Number(d['count']) : 0;
			var count = '<span title="台风或风偏">' + c + '次</span>';
			if (c > 0) {
				count += '<i class="fa fa-search pull-right" style="cursor:pointer;" onclick="typhoonForecastMan.faultDetail(\''
						+ d['equipmentId'] + '\')"></i>';
			}
			dataset.push([ d['equipmentName'], d['towerno'], count,
					d['equipmentId'], d['count'] ? d['count'] : 0 ]);
		}
		function sort(obj1, obj2) {
			var c1 = obj1.count;
			var c2 = obj2.count;
			if (c1 && c2 && c1 > 0 && c2 > 0) {
				return c2 - c1;
			} else if (c1 && c1 > 0) {
				return -1;
			} else if (c2 && c2 > 0) {
				return 1;
			} else {
				var n1 = obj1['towerno'];
				var n2 = obj2['towerno'];
				var t1 = n1 ? (n1 == '' ? 0 : 1) : 0;
				var t2 = n2 ? (n2 == '' ? 0 : 1) : 0;
				return t2 - t1;
			}
		}
		return dataset;
	}
	function getSecondaryDataset(data) {
		var dataset = [];
		for ( var i in data) {
			var d = data[i];
			dataset.push([ d['substationName'], d['name'], getStatus(d) ]);
		}
		function getStatus(p) {
			var s = '<span style="color:red">';
			if (p['mCommuStatus'] == error) {
				s += "通道异常 ";
			}
			if (p['mRunStatus'] == error) {
				s += "装置异常";
			}
			return s += "</span>";
		}
		return dataset;
	}
	function getTyphoonInfo(typhoons) {
		var ul = $('<ul class="list-group" ></ul>');
		for ( var i in typhoons) {
			var t = typhoons[i].history[0];
			ul.append('<li class="list-group-item"><b style="margin-left:5px">'
					+ '<input type="checkbox" checked="checked" class="typhoon-li" onchange="typhoonForecastMan.changeTyphoonDisplay()" /> '
					+ t.tname
					+ '</b><small style="color:#A6A6A6" class="pull-right"> '
					+ util.getTyphoonTimeStr(t) + '</small></li>');
		}
		return ul;
	}
	function getPoint(station) {
		var point = new SuperMap.Geometry.Point(station.longitude,
				station.latitude);
		var pointVector = new SuperMap.Feature.Vector(point);
		pointVector.style = {
			fillColor : "red",
			strokeColor : "yellow",
			pointRadius : 15,
			label : station.count + "",
			labelXOffset : '-3',
			fontColor : "white",
			fontOpacity : "0.8",
			fontFamily : "隶书",
			fontSize : "15px",
			fontWeight : "bold",
			fontStyle : "italic",
			labelSelect : "true"
		};
		pointVector.data.type = "typhoonFStation";
		pointVector.data.value = station;
		return pointVector;
	}
}
